Providing an answer to a question from a social network site using a separate messaging site

ABSTRACT

A question is received on a first social network site from a first user. The question is sent to a second user of a second social network site who receives the question from the second social network site. The first social network site receives an answer to the question from the second user via the second social network site and provides the answer to the first user.

FIELD

At least some embodiments of the disclosure relate generally to thefield of electronic messaging and, more particularly but not limited to,providing an answer in response to a question from a user of a socialnetwork site in which the question is sent to another person using amessaging site (e.g., the Twitter service) that is different from thesocial network site.

BACKGROUND

The Internet provides a convenient way to interact by electroniccommunications and to request various types of information. People canuse the Internet to communicate with each other, share information, andorganize virtual communities (e.g., a social network).

A social network is typically a social structure in which a network ofnodes can be used to represent a network of individuals or organizationsand the connections between the nodes in the network represent thedirect social connections. Web sites can be used to register the socialconnections of members of a social network and provide features such asautomatic address book updates, viewable profiles, services to introducemembers to each other to make new social connections, etc. Some socialnetworks are organized around business connections, while other socialnetworks are organized around common personal interests.

One way of interacting on the Internet is by use of the Twitter service,which is a social networking service that lets its users send and readmessages known as tweets. Tweets are text-based messages of up to 140characters that are delivered to the user's subscribers (who are knownas followers). Users are able to send and receive tweets via the Twitterwebsite. Users can restrict delivery to those in their circle of friendsor, by default, allow open access. Users are able to follow lists ofauthors instead of merely following individual authors.

BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments are illustrated by way of example and not limitation inthe figures of the accompanying drawings in which like referencesindicate similar elements.

FIG. 1 shows a system including an online social network accessible byuser terminals according to one embodiment.

FIG. 2 shows a screen shot of a web page presenting a list of friends toa user interacting with the social network of FIG. 1 according to oneembodiment.

FIG. 3 shows a screen shot of a web page presenting a list of favoritesto a user interacting with the social network of FIG. 1 according to oneembodiment.

FIG. 4 shows a screen shot of a web page presenting an activity feed toa user interacting with the social network of FIG. 1 according to oneembodiment.

FIG. 5 shows a screen shot of a web page presenting a list of questionsand answers to a user interacting with the social network of FIG. 1according to one embodiment.

FIG. 6 illustrates a process for providing an answer in response to aninformation request from a user of the social network of FIG. 1according to one embodiment.

FIG. 7 shows a system including an online social network coupled tocommunicate with a Twitter site according to one embodiment.

FIG. 8 illustrates a process for providing an answer in response to aninformation request from a user of the social network of FIG. 7according to one embodiment.

FIG. 9 shows a block diagram of a data processing system which can beused in various embodiments.

FIG. 10 shows a block diagram of a user device according to oneembodiment.

FIG. 11 is a diagrammatic representation of an alternative embodiment ofa machine, within which a set of instructions for causing the machine toperform one or more of the methodologies discussed herein may beexecuted.

DETAILED DESCRIPTION

The following description and drawings are illustrative and are not tobe construed as limiting. Numerous specific details are described toprovide a thorough understanding. However, in certain instances, wellknown or conventional details are not described in order to avoidobscuring the description. References to one or an embodiment in thepresent disclosure are not necessarily references to the sameembodiment; and, such references mean at least one.

Reference in this specification to “one embodiment” or “an embodiment”means that a particular feature, structure, or characteristic describedin connection with the embodiment is included in at least one embodimentof the disclosure. The appearances of the phrase “in one embodiment” invarious places in the specification are not necessarily all referring tothe same embodiment, nor are separate or alternative embodimentsmutually exclusive of other embodiments. Moreover, various features aredescribed which may be exhibited by some embodiments and not by others.Similarly, various requirements are described which may be requirementsfor some embodiments but not other embodiments.

Systems and methods to provide an answer in response to a question froma user of a social network site in which the question is sent to anotherperson using a messaging site (e.g., the Twitter service) that isdifferent from the social network site are described herein. Thedisclosure includes methods and apparatuses which perform these methods,including data processing systems which perform these methods, andcomputer readable media containing instructions which when executed ondata processing systems cause the systems to perform these methods.Other features will be apparent from the accompanying drawings and fromthe detailed description which follows.

In one embodiment, a method implemented in a data processing systemincludes receiving (on a first social network site) a question from afirst user that is a member of the first social network site. Thequestion is then sent from the first social network site to a seconduser, who is a member of a second social network site. The second userreceives the question in a message from the second social network site.Then, the first social network site receives an answer to the questionfrom the second user via the second social network site. Finally, theanswer is provided to the first user from the first social network site.This embodiment permits the first user to, for example, send a series ofquestions to the second user (and receive answers), even though thesecond user is not a member of the first social network site.

In another embodiment, a method implemented in a data processing systemincludes receiving a question or information request from a user of asocial network. The request includes a location. The data for aplurality of other users on the social network is searched. Each of theother users is associated (e.g., in a database on one or more storagedevices) with prior activity on the network. The searching is performedto identify an other user having prior activity related to a subjectmatter of the information request. A question is formed based on theinformation request, and the question is directed to the identifiedother user. An answer to the question is received from the other user,and the answer is provided to the user (e.g., on a web page on thesocial network site or in an electronic communication such as an email).In some embodiments, the question may be sent to other users via asecond social network site as described above.

At least one embodiment of the disclosure may use information and/oruser data content shared among the users of an online social network toassist in providing the answer. The use of the information sharedthrough the social network allows the system to direct answers to otherusers in an automated and/or personalized way. The preferences of theusers and the recommendations of their friends in the social network maybe considered in directing questions to other users and/or in providingthe answer.

In one embodiment, the social network includes a database that containsdata representing the relations between a set of persons (i.e., a userseeking an answer and other users). In a social network, a person ormember may be represented by a node; and a direct relation between twomembers is represented by a connection. After the direct relationsbetween members are specified, the database can be used to determine therelations between members that are indirectly connected. For example,the member may identify a friend's friend via the service of thedatabase.

In one embodiment, the number of connections along the shortest path inthe social network between two members is considered the degree ofseparation between the two members. There may be more than one shortestpath between the two members.

In one embodiment, the database of the social network further includesinformation about the members, which are considered the profile data ofthe members. For example, a member may edit his/her profile data via theuser interface provided by the online social network. The profile datacan include various information, such as the name of the member, thelocation of the member, the personal and/or business interests of themember, the website of the member, the education experiences of themember, etc.

In one embodiment, at least part of the profile data is public; and thepublic profile data is visible to other members and/or non-members. Inone embodiment, the member may specify a setting to selectively classifycertain information as private profile data; and the access to theprivate profile data is limited according to a set of rules.

In one embodiment, the user data content is shared between friends(e.g., within one degree of separation in the social network). Inanother embodiment, the user can specify a social distance such that theuser data content is shared by users who are within the specified socialdistance from the user in the social network. In one embodiment, theuser can specify different social distance for sharing different userdata content.

FIG. 1 shows a system including an online social network accessible byuser terminals according to one embodiment. In FIG. 1, the user devicesor terminals (e.g., 141, 143, . . . , 145) are used to access an onlinesocial network site (123) over a communication network (121) (e.g., theInternet, a wide area network, or a local area network). The onlinesocial network site (123) may include one or more web servers (or othertypes of data communication servers) to communicate with the userterminals (e.g., 141, 143, . . . , 145).

The online social network site (123) is connected to a data storagefacility to store user provided content (129), such as multimediacontent (131), location data (133), preference data (135), etc. Themultimedia content (131) may be associated with the location data (133)to provide a geographic context of the multimedia content (131).Location data 133 may be provided, for example, automatically by from aGPS location device or based on other data that is sent from userterminal 141.

In FIG. 1, the users may use the terminals (e.g., 141, 143, . . . , 145)to make implicit or explicit recommendations. For example, an explicitrecommendation would be a favorite provided by a user. An example ofimplicit recommendations would be data collected automatically by a userterminal that is related to travel by the user. Also, user selectionsinto a user terminal (although not intended as such by the user) can beused as implicit recommendations. As another example, the user may alsoexplicitly recommend certain locations and routes with or withoutadditional multimedia content, such as a still picture or a video cliptaken at a recommended location, a text message or a sound clip tointroduce the location, etc.

In one embodiment, the user terminal (e.g., 141, 143, . . . , 145) canalso be used to submit multimedia content (e.g., 131) tagged with thelocation data (133). For example, in one embodiment, the user terminalincludes a digital still picture camera, or a digital video camera. At atransition point, the user terminal can be used to create multimediacontent for sharing with friends in the online social network. In suchan embodiment, the multimedia content can be tagged with the locationdata in an automated way.

Alternatively, the multimedia content can be created using a separatedevice and loaded into the online social network using the user terminal(e.g., 141, 143, . . . , 145). The users may manually tag the multimediacontent with location data. For example, the user terminal can be usedto associate the user data content with locations and/or routesidentified by a GPS device in the user terminal.

Although FIG. 1 illustrates an example system implemented in clientserver architecture, embodiments of the disclosure can be implemented invarious alternative architectures. For example, the online socialnetwork can be implemented via a peer to peer network of user terminals,where the multimedia content and the location data are shared via peerto peer communication connections.

For example, certain processing may be implemented in the individualuser terminals, instead of running on one or more centralized servers.In some embodiments, a combination of client server architecture andpeer to peer architecture can be used, in which one or more centralizedservers may be used to provide some of the information and/or servicesand the peer to peer network is used to provide other information and/orservices. Thus, embodiments of the disclosure are not limited to aparticular architecture.

In one embodiment, the explicit or implicit recommendations or otheractivity of friends in the social network are used to facilitate theautomated identification of certain friends to send a question based ona user's information request.

The social network system stores and updates the information about theactivity of users on the network, including user data content createdand offered for sharing by the providing users (e.g., favorites orcomments). The user content can be recommended by the social networksystem (e.g., comments) to other receiving users who have similarpreferences as the provider users.

In one embodiment, the system performs matching based on userpreferences and pre-defined rules. Thus, the providing users do not haveto explicitly indicate the recipients of the shared information; and thereceiving users do not have to annotate other people's contents forconsumption. The social network system can process the preference matchto provide the recommendation.

In some embodiments, the user may be presented a user interface on auser terminal, which may be used to share user data content tagged withlocation information. This interface may be used to submit aninformation request, or to provide favorites, comments, or multimediacontent, (e.g., a message, a video clip, etc., for sharing with friendsin the online social network). The user may specifically recommend somelocations of interests via a selection on a map presented in the userinterface. The user contents may, for example, be automaticallyassociated with this location information by the user terminal using aGPS location device.

Various user preference criteria can be used to select information to bepresented to a user. For example, user preference criteria may include arequirement that the provider of the information (e.g., an answer to aquestion) is in a preference buddy-list of the user (or within apredetermined social distance from the user). The user preferencecriteria may include a requirement that a person in the preferencebuddy-list of the user (or within a predetermined social distance fromthe user) has actually had prior activity of a defined type that isrelated to the information to be presented, or has prior activityincidents or events of more than a predetermined number of times (e.g.,used a service repeatedly).

In one embodiment, the user preference criteria are configurable,pluggable, and tunable by the user. For example, the user may select aset of criteria from a set of pre-defined criteria, or add a customdesigned criterion, or adjust the parameters of the selected criteria.Thus, the users can configure the matching process to obtain the desiredrecommendations from friends via the operation of the online socialnetwork.

Additional information regarding various data processing systems,popularity rankings, user relationship graphs, presentation ofinformation in response to user requests, and other hardware and methodsfor an online social network are described in U.S. patent applicationSer. No. 12/116,169, filed May 6, 2008 (titled Systems and Methods toProvide Search Based on Social Graphs and Affinity Groups, by DavidYoo), which is hereby incorporated by reference herein in its entirety.

In alternative embodiments, online social network site 123 aggregatesrecommendations of businesses, service providers, products, information,entertainment programs, merchants, etc., and tracks the useridentifications of those users making the recommendations. The networksite 123 also may provide search results in response to a searchinguser's search query or other information request. The network site 123selects businesses that are most relevant based on the search query andthe number of recommendations of each business from users that are mostclosely related to the searching user. In some embodiments, the networksite 123 counts only the number of recommending users of a predetermineddegree of closeness to the searching user. The searching user can usethe rank of the business in the search result, the number ofrecommending users and the identity of some or all of the recommendingusers to influence their decision as to which business to use.Typically, the recommendations of more closely related recommendingusers are more relevant to a searching user than recommendations of moredistantly related or unrelated users.

In some embodiments, user terminals 141, 143, and 145 may take manyforms including desktop and notebook computers, mobile phones, andpersonal digital assistants (PDAs). For example, the user terminals maybe configured to be connected through the Internet to the social networksite 123.

The online social network 123 may take various forms. Social networksinclude online communities where users interact and establishrelationships with each other. Examples of social networks include theFACEBOOK®, MySpace® and Linkedin® web sites. (FACEBOOK, MySpace andLinkedin are registered trademarks of Facebook, Inc., Myspace, Inc. andLinkedin Corporation, respectively.) Users of online social network 123may interact with each other in various ways including chat, email, filesharing, blogging, and affinity groups. Affinity groups may be groupsthat people join for any number of reasons such as to express aparticular interest, engage in discussions about a particular subject orexpress a relationship with other members. Users of social networksestablish relationships with each other in various ways on the socialnetworks, including by joining common affinity groups, becoming“friends” or making a “connection.”

A person using a user terminal may log into social network 123 tointeract and establish relationships with other users. In some cases,the same person may access the social networks using different userdevices at different times. For example, the person may use theirdesktop computer when at work, their laptop computer in a meeting, andtheir mobile phone when on the road. In each case, the person isidentified to the social network by using a user identification to loginto the social network from one of the user devices.

In some embodiments, users log into a social network or their userdevice using a user identification and password. In some cases, the useris somewhat anonymous in that the user identification is a user name orscreen name. In other cases, the user identification may be associatedwith more specific identifying information, such as the user's real nameor social security number. In some embodiments, a person is identifiedby different user names depending on which social network or user devicethey are accessing. In such embodiments, the network site 123 mayassociate a common user identification with each of the user names sothat information associated with this person may be aggregated acrossmultiple information sources.

The first person may click on an input device (e.g., a button on a webpage) in a web page on the social network to indicate that the userprefers or recommends a first business. The input device is a mechanismfor allowing the user to interact with the social network. For example,the input device may be a button, checkbox, or drop down list in a webpage on the social network. The second person may click an input devicein a web page on the social network that indicates that the user prefersor recommends the first business as well. The second person mayrecommend a second business instead of or in addition to the firstbusiness. Similarly, other users may indicate preferences for one ormore businesses on the social network. Furthermore, these users mayinteract similarly with other social networks.

The context and processes for indicating these preferences andrecommendations may be implemented in any of a number of ways on each ofthese social networks. For example, a user may browse a list ofbusinesses from a database and click on an input device associated witha particular business to indicate a preference. In other cases, a usermay review the recommended businesses of other users and click on aninput device to adopt a particular recommendation as their own.

In some cases, a user may log into an account managed by the networksite 123 using a user identification and make recommendations directlyassociated with the user profile maintained by the network site 123. Forexample, the user may visit the web site of a business and click on abutton on their browser to add that business to their recommendedbusinesses (e.g., favorites) as stored in their account on the networksite 123. In other cases, the user logs into the social network using auser identification and makes the recommendations within the context ofthat social network. The network site 123 subsequently retrieves thisinformation from the social network and associates the information withthe user profile maintained by the network site 123.

In some embodiments, users of the social networks recommend businessesby clicking on an input device associated with a particular business toindicate that the user prefers or recommends that business. Theserecommendations and preferences may be available to other users invarious ways including by viewing the recommending user's profile on thesocial network or receiving announcements of new recommendations througha messaging feature of the social network. The social network may employother methods of indicating and sharing a preference or recommendationfor certain businesses.

In some embodiments, users select one of several levels of favorites toindicate the strength of a recommendation. For example, user may clickon one of two buttons to indicate that a particular business is either“recommended” or “highly recommended.” In other cases, a multiple pointscale may be used to indicate the strength of the recommendation. Othermethods for users to indicate a preference for a certain business may beused. In some embodiments, these recommended businesses may be listed inthe favorite list in the profile of the user on the social network orinternet site

In some embodiments, network site 123 includes one or more computersconfigured to perform the functionality described herein. For example,the network site 123 may include one or more computers to implement webserver functionality to interface with the user terminals over theinternet. Furthermore, the network site 123 may include one or moredatabases configured to manage information including user profiles andrecommended businesses and configured to search that information inresponse to information requests from a user. The databases may beconfigured to store multiple relationships between user identifications,a list of favorite businesses of each user identification, andrelationships between each user identification and an affinity group orsocial network.

In some embodiments, the network site 123 aggregates recommendedbusinesses and user identifications of people that recommend eachrecommended business on the social networks. The network site 123 alsoretrieves one or more relationship graphs that indicate relationshipsbetween users of the social network 123. The relationship graphs includeinformation about the relationships between user identifications on thesocial network. For example, the relationship graph may includeinformation about which users are members of each affinity group, whichusers are directly related as friends or connections, and which usersare more remotely connected through intermediate friends or connections,such as a friend of a friend.

In some embodiments, the user terminals may also let persons submitinformation requests in the form of search queries. For example, aperson wanting to find someone to fix their Porsche, may submit a searchquery “Porsche mechanic” on the user terminal 143 using a keyboard orvoice input, for example. The user terminal 143 sends the search queryor other information request over the communication network 121 to thenetwork site 123. In some cases, a location of the searching user isprovided to the network site 123 so that the search service canprioritize relevant businesses based at least in part by distance fromthe searching user. The network site 123 provides the search results orother answer over the Internet to the user terminal 143 to the searchinguser.

In some embodiments, the network site 123 selects businesses in responseto a search query based at least in part on the number ofrecommendations of each business by recommending users of a certaindegree of closeness to the searching user in the one or morerelationship graphs. For example, the network site 123 may select andrank businesses based at least in part on the number of recommendationsfrom recommending users with a direct relationship with the searchinguser. In other cases, the network site 123 counts users withrecommendations from recommending users with second degree, third degreeand higher degree relationships with the searching user and ranks thebusinesses at least in part based on these counts.

In some embodiments, the network site 123 counts only recommendationsfrom users in certain affinity groups or particular social networks. Forexample, if the searching user is searching for a financial advisor, thesearching user might only be interested in the recommendations of peoplein a selected affinity group. In some cases, the user specifies aparticular affinity group or social network to include based for exampleon their perception of the relevant expertise of members of that groupor network. In other cases, the selection of groups or networks toinclude is done automatically based on the search query. For example,the network site 123 may only count relationships within finance relatedgroups if the network site 123 determines that the search query isrelated to a finance related matter.

In some embodiments, the network site 123 transmits the search resultsover the communication network 121 to the user terminal 143. The userterminal 143 presents the search results with a rating or indication ofone or more numbers of recommendations according to one or morecriteria. In some cases, the one or more number of recommendations mayinclude the number of recommendations overall. In some cases, one ormore numbers of recommendations are presented for one or more particularcategories, such as number of recommendations among each of thesearching user's first degree relationships, second degreerelationships, and third degree relationships. Other categories mayinclude the number of recommending users that are a member of aparticular affinity group or a member of a particular social network.

The user terminal 143 may also present the answer or search results withan indication of one or more user identifications associated withrecommendations. In some cases, all the user identifications associatedwith the recommended business are presented. The search results mayinclude user identifications selected or prioritized based on therecommending user's relevance to the searching user. In someembodiments, the most relevant users may be recommending users with theclosest relationships to the searching user. The closest relationshipsare ones which the searching user may recognize and find most persuasivein influencing their selection of one of the presented businesses. Insome embodiments, the relevance of recommending users may be based onone or more factors including the degree of closeness of therelationship between the two user identifications, the number ofindependent relationships connecting the two user identifications, thenumber of common group memberships, and the relevance of each affinitygroup to the search query.

In some embodiments, the information request or search query issubmitted through an application programming interface (API) to thenetwork site 123. For example, the API may provide for business searchqueries in their social network profile, provide a mechanism for theuser to identify and share favorite businesses on that website and alsoallow the network site 123 to access that user's favorite businesses andrelationships on that website.

In some embodiments, the network site 123 aggregates recommendations ofall users of the website. In other embodiments, the API can beconfigured to specify that recommendations from a specific subset ofusers on the website are included. For example, the network site 123might aggregate the recommendations of newspaper editors on thenewspaper website and aggregate the recommendations of product reviewstaff on the product review website.

In some cases, the recommendations of these the users associated withthe website are incorporated into the search results on the website forall searches. In other embodiments, the recommendations of these usersare only incorporated into certain types of searches, such as searchqueries related to their area of expertise. For example, only restaurantrecommendations of the restaurant critics on the newspaper website mightbe incorporated into the search results.

FIG. 2 shows a screen shot of a web page 200 that presents a friendslist 240 to a user interacting with social network site 123 according toone embodiment. Web page 200 is served from network site 123 to one ofuser terminals 141, 143, or 145.

Friends list 240 includes a listing of friends 244, etc., of the user.Each friend has an associated location 246, (e.g., as previouslyprovided to network site 123 by the friend). The friends list isaccessed by the user clicking on a “Friends” tab 242. A legend 248 hasan accompanying input box 250 for the input of an information request(e.g., associated with a location) by user seeking an answer. As anexample, the user may associate the information request with a desiredlocation by indicating the location for which the user is interested inan answer by inputting a desired location. The information request maybe sent to social network site 123 by clicking, using a mouse, on “Ask”button 254. Input box 250 may also be used for making a search query.This query may be requested using search button 252.

FIG. 3 shows a screen shot of a web page 300 that presents a favoriteslist 302 to a user interacting with social network site 123 according toone embodiment. Favorites list 302 is accessed by the user's clicking ona “Favorites” tab 304.

Favorites list 302 includes a list of favorites 306, etc., previouslyselected by the user. Each favorite is associated with a location 314.Also, each favorite may be associated with a business or service type orcategory 316 (e.g., General Merchandise or Korean Restaurants). Thesetypes and categories may have been previously selected by the user whenthe favorite was created.

Each favorite may have an associated rating 308, 310, and 312. Therating 308 is based on popularity with direct friends of the user;rating 310 is based on popularity with extended friends of the user(e.g., friends of friends); and rating 312 is based on popularity withall users of the social network. In other embodiments, the rating may bebased on popularity with all users of the social network within aparticular category type (e.g., as selected by the user for viewing).

The ratings may also be used for answers provided to the user, asdiscussed further below. Each favorite may also have a time 318indicating the time period that has passed since, for example, thefavorite was created.

FIG. 4 shows a screen shot of a web page 400 presenting an activity feed402 to a user interacting with social network site 123 according to oneembodiment. Activity feed 402 may include some or all forms of activityon the social network site that are visible to the user including, forexample, comments 406 and favorites 408 created by other users,questions asked 410 (e.g., asked of the user by another user), andquestions answered 412 (e.g., an answer to a question previously askedby the user). The activity feed is accessed by the user via tab 404.

FIG. 5 shows a screen shot of a web page 500 that presents a list 502 ofquestions and answers to a user interacting with social network site 123according to one embodiment. The list 502 is accessed by a user via tab504, which is, for example, a subset of information under tab 404).

A question 506 has been asked by a user. Question 506 includes alocation “Los Angeles, Calif.” and requests information about a subjectmatter (e.g., a restaurant generally, and a French restaurant even morespecifically). The user originally submitted an information requestusing input box 250, and initiated submission of the request to networksite 123 by clicking “Ask” button 254. In response to receiving thisinformation request, social network site 123 automatically searches itsdatabase of network data on other users in order to send a question toselected other users, as discussed herein.

Two answers 508 and 510 are received from these selected other users inreply to this question. Each answer has a rating 308, 310, and 312.Other ratings may be used. Also, the answers may be ranked in a displayorder based on one of these ratings. In some embodiments, the answersmay be associated with a type or category, which may be displayed forthe user.

FIG. 6 illustrates a process 650 for providing an answer in response toan information request from a user of social network site 123 accordingto one embodiment. In block 652, network site 123 receives aninformation request from a user. The information request includes alocation.

In block 654, network site 123 searches network data of friends on thesocial network to identify a friend having prior activity related to asubject matter of the information request and to the location. In otherembodiments, users other than or in addition to friends may be searched.The friends searched may be direct friends, or extended friends to anynth degree of relationship. In alternative embodiments, the search maybe limited to simply a relationship to the subject matter, regardless oflocation. Also, in some embodiments the search may be limited to abusiness or service category or type that has been previously associatedwith the friends or other users. In alternative embodiments, the set ofother users considered may be based on the relationship graph mentionedabove.

For example, a relationship between the subject matter of theinformation request and network data that has been previously storedregarding one or more friends of the user may be determined byreferencing the category and meta-data associated with all of thelocations, businesses, and products for which a user has previouslyprovided a favorite or comment.

In some embodiments, the prior activity of an other user or friend isrelated to the location in the information request based on one or moreof the following: location data previously received by social networksite 123 from a user device of the other user or friend; and a favoritepreviously provided to the social network by the other user or friend,wherein the favorite is associated with another location that is withina predetermined distance of the location in the information request.

In other embodiments, the prior activity data includes at least one ofthe following: a list of favorites provided to network site 123 by theother user or friend; a comment provided to the network site 123 by theother user or friend; and data forwarded to network site 123 from a userdevice of the other user or friend.

In yet other embodiments, after a first friend is identified usingrelated subject matter, network site 123 searches network data toidentify a second friend having prior activity related to the locationin the information request. Network site 123 directs the same questionto the second friend, and receives an answer to the question from thesecond friend. The answer is sent to the user (e.g., displayed on a webpage as discussed above), and is indicated as being a response to theinformation request of the user.

In block 656, network site 123 directs a question regarding theinformation request to the identified friend or friends (or otherusers). In block 658, network site 123 receives an answer to thequestion from the identified friend(s) or other users. In block 660,network site 123 provides the answer to the user. The answer has one ormore ratings based on its popularity with the user's friends. In someembodiments, network site 123 sends an electronic notification to theidentified friend(s) indicating that a question is being directed tothem from the network site 123.

FIG. 7 shows a system including social network site 123 coupled tocommunicate with a Twitter site 702 (i.e., a website hosting a Twitterservice) according to one embodiment (Twitter is a trademark of Twitter,Inc., of San Francisco, Calif.). A user or member of social network site123 is able to send questions to and receive answers from a user of theTwitter website using tweets sent to and from the Twitter user.

More specifically, social network site 123 receives messages from users(e.g., a member) such as the user of user terminal 141. These messagesmay include questions and answers as discussed above. Also, the messagesmay include favorites and comments as discussed above. The content ofthese messages may be stored as user provided content 129 on networksite 123.

When the message received from the user is a question, social networksite 123 determines the intended recipient of the message and forwardsthe message to Twitter site 702. For example, network site 123 mayrecognize the recipient as being on a list of friends of a user that areto be communicated with using a Twitter service. Network site 123 sendsthe question in a message over a communication network to Twitter site702. Network site 123 may be integrated with Twitter site 702 using anapplication program interface (API) associated with the Twitter site702. The message is then converted by Twitter site 702 into the form ofa tweet, which is then sent to a user on user terminal 143, who is amember of Twitter site 702. An answer to the question is sent from userterminal 143 in the form of a tweet to Twitter site 702, which forwardsthe answer to network site 123. In alternative embodiments, userterminal 141 may, in addition to the foregoing, communicate with userterminal 143 using tweets sent directly to Twitter site 702.

The network site 123 maintains a record in a data store 704 of usernames and corresponding aliases (e.g., User A and Alias A). The answerfrom user terminal 143 is forwarded by Twitter site 702 to an addressassociated with one of these aliases. Network site 123 uses data store704 to match the alias to the appropriate user (e.g., the user of userterminal 141) for further handling of the message.

As a specific example, network site 123 and Twitter site 702 permit twopeople to have a conversation about a Mexican restaurant (e.g., in whichthe conversation began with a question about the location of the Mexicanrestaurant). One person is logged onto network site 123, and the secondperson is only logged onto Twitter site 702. The second person receivesa tweet from the first person, and is able to simply send a tweet inreply (i.e., answer). Because network site 123 initiated the tweet, theanswer (i.e., reply tweet) returns back to an alias of the firstperson's Twitter account. Network site 123 associates this alias withthe original question from the first person.

In an alternative embodiment, the question is sent to a messaging site708, which may implement a messaging protocol different from that usedon the Twitter site 702. Messaging site 708 communicates with socialnetwork site 123 similarly as described above. The questions arereceived from network site 123 and forwarded to user terminal 143.Answers may be provided similarly as described above.

A natural language module 706 may be used by network site 123 to performnatural language processing on answers received from Twitter site 702.More specifically, the answer may be parsed using extensive naturallanguage processing in order to determine the form of the answer. Forexample, this processing may determine that the recipient was not ableto provide an answer, or that the recipient desires the question beasked again. This processing may also determine whether the answerincludes a location, business, or business name, and then store and usethis information on network site 123 (e.g., as discussed herein forother embodiments). Thus, in some embodiments, a user of the Twitterservice (who is not otherwise associated with network site 123) is ableto have an exchange of questions and answers with a member of socialnetwork site 123.

In other embodiments, favorites selected by members of a social networksite (e.g., the user of user terminal 141) are received by network site123 without the member needing to log into the social network. Instead,the user may send, for example, tweets to Twitter site 702, which arethen forwarded to social network site 123. The forwarded tweets areparsed to identify the favorites, which are then added to user providedcontent 129 as new favorites for that particular user.

FIG. 8 illustrates a process 800 for providing an answer in response toa question from a user of social network site 123 according to oneembodiment. In block 802, network site 123 receives a question from afirst user that is a member of social network site 123.

In block 804, network site 123 sends the question to a second userthrough an intermediate second social network site (e.g., Twitter site702 or messaging site 708) of which the second user is a member. In oneembodiment, the second social network site is Twitter site 702, andnetwork site 123 stores data having records for a plurality of friendsof the first user, in which the data records include a Twitter user namefor each respective friend. These friends may include the second user.In another embodiment, the first user is a member of the second socialnetwork site, and network site 123 has previously received an indicationfrom the first user permitting network site 123 to send questionsreceived from the first user to the second social network site forforwarding to members of the second social network site.

In block 806, network site 123 receives an answer to the question fromthe second user through the second social network site. In block 808,network 123 sends the answer to the first user (e.g., for display on aweb page on user terminal 141). In one embodiment, the answer ispresented to a user on a list of questions and respective answersprovided for presentation in a web page on a display of a user device(e.g., as described above).

In another embodiment, network site 123 provides an activity feed to thefirst user. The activity feed includes answers received to priorquestions of the first user, in which the answers are received bynetwork site 123 from the second social network site. The activity feedmay further include a plurality of favorites received from other usersof the second social network site, and each of the other users may havepreviously provided a respective one of the favorites in a message sentto the second social network site.

FIG. 9 shows a block diagram of a data processing system which can beused in various embodiments. While FIG. 9 illustrates various componentsof a computer system, it is not intended to represent any particulararchitecture or manner of interconnecting the components. For example,the data processing system may be used to provide online social networksite 123. Other systems that have fewer or more components may also beused.

In FIG. 9, the system (201) includes an inter-connect (202) (e.g., busand system core logic), which interconnects a microprocessor(s) (203)and memory (208). The microprocessor (203) is coupled to cache memory(204) in the example of FIG. 9.

The inter-connect (202) interconnects the microprocessor(s) (203) andthe memory (208) together and also interconnects them to a displaycontroller and display device (207) and to peripheral devices such asinput/output (I/O) devices (205) through an input/output controller(s)(206). Typical I/O devices include mice, keyboards, modems, networkinterfaces, printers, scanners, video cameras and other devices whichare well known in the art.

The inter-connect (202) may include one or more buses connected to oneanother through various bridges, controllers and/or adapters. In oneembodiment the I/O controller (206) includes a USB (Universal SerialBus) adapter for controlling USB peripherals, and/or an IEEE-1394 busadapter for controlling IEEE-1394 peripherals.

The memory (208) may include ROM (Read Only Memory), and volatile RAM(Random Access Memory) and non-volatile memory, such as hard drive,flash memory, etc.

Volatile RAM is typically implemented as dynamic RAM (DRAM) whichrequires power continually in order to refresh or maintain the data inthe memory. Non-volatile memory is typically a magnetic hard drive, amagnetic optical drive, or an optical drive (e.g., a DVD RAM), or othertype of memory system which maintains data even after power is removedfrom the system. The non-volatile memory may also be a random accessmemory.

The non-volatile memory can be a local device coupled directly to therest of the components in the data processing system. A non-volatilememory that is remote from the system, such as a network storage devicecoupled to the data processing system through a network interface suchas a modem or Ethernet interface, can also be used.

In one embodiment, a data processing system as illustrated in FIG. 9 isused to implement an online social network site, a navigation engine,and/or other servers, such as a server to match user preferences and/orto select candidates for transition point. For example, the dataprocessing system may be used to implement Twitter site 702 or messagingsite 708.

In one embodiment, a data processing system as illustrated in FIG. 9 isused to implement a user terminal, which may receive or compute anavigation route and present the navigation route together with userdata content shared via a social network. A user terminal may be in theform of a personal digital assistant (PDA), a cellular phone, a notebookcomputer or a personal desktop computer.

In some embodiments, one or more servers of the system can be replacedwith the service of a peer to peer network of a plurality of dataprocessing systems, or a network of distributed computing systems. Thepeer to peer network, or a distributed computing system, can becollectively viewed as a server data processing system.

Embodiments of the disclosure can be implemented via themicroprocessor(s) (203) and/or the memory (208). For example, thefunctionalities described can be partially implemented via hardwarelogic in the microprocessor(s) (203) and partially using theinstructions stored in the memory (208). Some embodiments areimplemented using the microprocessor(s) (203) without additionalinstructions stored in the memory (208). Some embodiments areimplemented using the instructions stored in the memory (208) forexecution by one or more general purpose microprocessor(s) (203). Thus,the disclosure is not limited to a specific configuration of hardwareand/or software.

FIG. 10 shows a block diagram of a user device (e.g., user terminal 141,143, or 145) according to one embodiment. In FIG. 10, the user deviceincludes an inter-connect (221) connecting the presentation device(229), user input device (231), a processor (233), a memory (227), aposition identification unit (225) and a communication device (223).

In FIG. 10, the position identification unit (225) is used to identify ageographic location for user content created for sharing. The positionidentification unit (225) may include a satellite positioning systemreceiver, such as a Global Positioning System (GPS) receiver, toautomatically identify the current position of the user device.Alternatively, an interactive map can be displayed to the user, and theuser can manually select a location from the displayed map.

In FIG. 10, the communication device (223) is configured to communicatewith an online social network to provide user data content tagged withlocation data. A location solution can be computed and presented atleast in part via the processor (233) and the presentation device (229).

In one embodiment, the user input device (231) is configured to generateuser data content which is to be tagged with the location informationfor sharing. The user input device (231) may include a text inputdevice, a still image camera, a video camera, and/or a sound recorder,etc.

FIG. 11 is a diagrammatic representation of an alternative embodiment ofa machine, within which a set of instructions for causing the machine toperform one or more of the methodologies discussed herein may beexecuted. The machine may be connected (e.g., networked) to othermachines. In a networked deployment, the machine may operate in thecapacity of a server or a client machine in a client-server networkenvironment, or as a peer machine in a peer-to-peer (or distributed)network environment. In one embodiment, the machine communicates withthe server to facilitate operations of the server and/or to access theoperations of the server.

In some embodiments, the machine 600 is a user terminal 141, 143, or 145according to an embodiment as described above. In other embodiments, themachine 600 is a portion of a social network (e.g., a machine supportingsome or all of online social network site 123).

The machine 600 includes a processor 602 (e.g., a central processingunit (CPU) a graphics processing unit (GPU) or both), a main memory 604and a nonvolatile memory 606, which communicate with each other via abus 608. In some embodiments, the machine 600 may be a desktop computer,a laptop computer, personal digital assistant (PDA) or mobile phone, forexample. In one embodiment, the machine 600 also includes a videodisplay 610, an alphanumeric input device 612 (e.g., a keyboard), acursor control device 614 (e.g., a mouse), a drive unit 616, a signalgeneration device 618 (e.g., a speaker) and a network interface device620.

In one embodiment, the video display 610 includes a touch sensitivescreen for user input. In one embodiment, the touch sensitive screen isused instead of a keyboard and mouse. The disk drive unit 616 includes amachine-readable medium 622 on which is stored one or more sets ofinstructions 624 (e.g., software) embodying any one or more of themethodologies or functions described herein. The instructions 624 mayalso reside, completely or at least partially, within the main memory604 and/or within the processor 602 during execution thereof by themachine 600, the main memory 604 and the processor 602 also includingmachine-readable media. The instructions 624 may further be transmittedor received over a network 640 via the network interface device 620. Insome embodiments, the machine-readable medium 622 also includes adatabase 625 including aggregated businesses, associated useridentifications and user relationship graphs.

In this description, various functions and operations may be describedas being performed by or caused by software code to simplifydescription. However, those skilled in the art will recognize what ismeant by such expressions is that the functions result from execution ofthe code by a processor, such as a microprocessor. Alternatively, or incombination, the functions and operations can be implemented usingspecial purpose circuitry, with or without software instructions, suchas using an Application-Specific Integrated Circuit (ASIC) or aField-Programmable Gate Array (FPGA). Embodiments can be implementedusing hardwired circuitry without software instructions, or incombination with software instructions. Thus, the techniques are limitedneither to any specific combination of hardware circuitry and software,nor to any particular source for the instructions executed by the dataprocessing system.

While some embodiments can be implemented in fully functioning computersand computer systems, various embodiments are capable of beingdistributed as a computing product in a variety of forms and are capableof being applied regardless of the particular type of machine orcomputer-readable media used to actually effect the distribution.

At least some aspects disclosed can be embodied, at least in part, insoftware. That is, the techniques may be carried out in a computersystem or other data processing system in response to its processor,such as a microprocessor, executing sequences of instructions containedin a memory, such as ROM, volatile RAM, non-volatile memory, cache or aremote storage device.

Routines executed to implement the embodiments may be implemented aspart of an operating system, middleware, service delivery platform, SDK(Software Development Kit) component, web services, or other specificapplication, component, program, object, module or sequence ofinstructions referred to as “computer programs.” Invocation interfacesto these routines can be exposed to a software development community asan API (Application Programming Interface). The computer programstypically comprise one or more instructions set at various times invarious memory and storage devices in a computer, and that, when readand executed by one or more processors in a computer, cause the computerto perform operations necessary to execute elements involving thevarious aspects.

A machine readable medium can be used to store software and data whichwhen executed by a data processing system causes the system to performvarious methods. The executable software and data may be stored invarious places including for example ROM, volatile RAM, non-volatilememory and/or cache. Portions of this software and/or data may be storedin any one of these storage devices. Further, the data and instructionscan be obtained from centralized servers or peer to peer networks.Different portions of the data and instructions can be obtained fromdifferent centralized servers and/or peer to peer networks at differenttimes and in different communication sessions or in a same communicationsession. The data and instructions can be obtained in entirety prior tothe execution of the applications. Alternatively, portions of the dataand instructions can be obtained dynamically, just in time, when neededfor execution. Thus, it is not required that the data and instructionsbe on a machine readable medium in entirety at a particular instance oftime.

Examples of computer-readable media include but are not limited torecordable and non-recordable type media such as volatile andnon-volatile memory devices, read only memory (ROM), random accessmemory (RAM), flash memory devices, floppy and other removable disks,magnetic disk storage media, optical storage media (e.g., Compact DiskRead-Only Memory (CD ROMS), Digital Versatile Disks (DVDs), etc.), amongothers.

In general, a machine readable medium includes any mechanism thatprovides (e.g., stores) information in a form accessible by a machine(e.g., a computer, network device, personal digital assistant,manufacturing tool, any device with a set of one or more processors,etc.).

In various embodiments, hardwired circuitry may be used in combinationwith software instructions to implement the techniques. Thus, thetechniques are neither limited to any specific combination of hardwarecircuitry and software nor to any particular source for the instructionsexecuted by the data processing system.

Although some of the drawings illustrate a number of operations in aparticular order, operations which are not order dependent may bereordered and other operations may be combined or broken out. While somereordering or other groupings are specifically mentioned, others will beapparent to those of ordinary skill in the art and so do not present anexhaustive list of alternatives. Moreover, it should be recognized thatthe stages could be implemented in hardware, firmware, software or anycombination thereof.

In the foregoing specification, the disclosure has been described withreference to specific exemplary embodiments thereof. It will be evidentthat various modifications may be made thereto without departing fromthe broader spirit and scope as set forth in the following claims. Thespecification and drawings are, accordingly, to be regarded in anillustrative sense rather than a restrictive sense.

What is claimed is:
 1. A method, comprising: receiving, via a computingdevice, a question posted on a first social network site by a first userthat is a member of the first social network site; sending, via thecomputing device, the question to a second social network site, suchthat the question is posted on the second social network site and isdirected to a second user that is a member of a second social networksite; receiving, via the computing device, an answer to the questionfrom the second user, wherein the answer is received from the secondsocial network site; providing the answer to the first user; receiving,via the computing device, a plurality of prior questions of the firstuser that were sent to the second social network site; receiving, viathe computing device, a plurality of answers to the prior questions ofthe first user, wherein the plurality of answers are received from aplurality of users of the second social network site; correlating, viathe computing device, one or more of the plurality of prior questionswith one or more of the plurality of answers to the prior questions; andproviding, via the computing device, an activity feed to the first useron the first social network site, the activity feed comprising the oneor more of the plurality of prior questions and the one or more of theplurality of answers to the prior questions correlated to the one ormore of the plurality of prior questions.
 2. The method of claim 1,wherein providing the answer comprises presenting the answer on a listof questions and respective answers provided for presentation in a webpage on a display of a user device of the first user.
 3. The method ofclaim 1, further comprising storing a list of aliases and correspondinguser names, a first alias of the list of aliases corresponding to thefirst user, wherein the answer received from the second social networksite is addressed to the first alias.
 4. The method of claim 1, whereinthe activity feed further comprises a plurality of favorites receivedfrom other users of the second social network site, wherein each of theother users has previously provided a respective one of the favorites ina message sent to the second social network site.
 5. The method of claim1, wherein the second social network site is a microblogging website,and further comprising storing data, on at least one a storage device,recording a plurality of friends of the first user, the data including auser name for each respective friend, and the friends including thesecond user.
 6. The method of claim 1, wherein the second social networksite is a microblogging website, the question sent to the second user isa microblogging message, and the first social network site is integratedwith the second social network site using an application programinterface for the microblogging website.
 7. The method of claim 1,wherein the first user is a member of the second social network site,and the computing device has previously received an indication from thefirst user permitting the computing device to send questions receivedfrom the first user to the second social network site for forwarding toother members of the second social network site.
 8. The method of claim1, further comprising: parsing the answer received from the secondsocial network site to determine a location contained within the answer;and providing the location, with the answer provided to the first user,for display on a user device of the first user.
 9. A non-transitorymachine-readable medium, storing instructions that, when executed by acomputing device, cause the computing device to perform a method, themethod comprising: receiving a question posted on a first social networksite by a first user that is a member of the first social network site;sending the question to a second social network site, such that thequestion is posted on the second social network site and is directed toa second user that is a member of a second social network site;receiving an answer to the question from the second user, wherein theanswer is received from the second social network site; providing theanswer to the first user; receiving a plurality of prior questions ofthe first user that were sent to the second social network site;receiving a plurality of answers to the prior questions of the firstuser, wherein the plurality of answers are received from a plurality ofusers of the second social network site; correlating one or more of theplurality of prior questions with one or more of the plurality ofanswers to the prior questions; and providing an activity feed to thefirst user on the first social network site, the activity feedcomprising the one or more of the plurality of prior questions and theone or more of the plurality of answers to the prior questionscorrelated to the one or more of the plurality of prior questions. 10.The tangible non-transitory machine-readable medium of claim 9, whereinproviding the answer comprises presenting the answer on a list ofquestions and respective answers provided for presentation in a web pageon a display of a user device of the first user.
 11. The non-transitorymachine-readable medium of claim 9, the method further comprisingstoring a list of aliases and corresponding user names, a first alias ofthe list of aliases corresponding to the first user, wherein the answerreceived from the second social network site is addressed to the firstalias.
 12. The non-transitory machine-readable medium of claim 9,wherein the activity feed further comprises a plurality of favoritesreceived from other users of the second social network site, whereineach of the other users has previously provided a respective one of thefavorites in a message sent to the second social network site.
 13. Thenon-transitory machine-readable medium of claim 9, wherein the secondsocial network site is a microblogging website, the question sent to thesecond user is a microblogging message, and the first social networksite is integrated with the second social network site using anapplication program interface for the microblogging website.
 14. Anapparatus comprising: a memory; and a processor coupled to the memoryto: receive a question posted on a first social network site by a firstuser that is a member of the first social network site; send thequestion to a second social network site, such that the question isposted on the second social network site and is directed to a seconduser that is a member of a second social network site, receive an answerto the question from the second user, wherein the answer is receivedfrom the second social network site, provide the answer to the firstuser; receive a plurality of prior questions of the first user that weresent to the second social network site; receive a plurality of answersto the prior questions of the first user, wherein the plurality ofanswers are received from a plurality of users of the second socialnetwork site; correlate one or more of the plurality of prior questionswith one or more of the plurality of answers to the prior questions; andprovide an activity feed to the first user on the first social networksite, the activity feed comprising the one or more of the plurality ofprior questions and the one or more of the plurality of answers to theprior questions correlated to the one or more of the plurality of priorquestions; a storage device, coupled to the processor, storing a list ofaliases and corresponding user names, a first alias of the list ofaliases corresponding to the first user, wherein the answer receivedfrom the second social network site is addressed to the first alias. 15.The apparatus of claim 14 wherein the apparatus receives the questionfrom a user device of the first user.
 16. The apparatus of claim 14,wherein the processor is further configured to present the answer on alist of questions and respective answers provided for presentation in aweb page on a display of a user device of the first user.
 17. Theapparatus of claim 14, wherein the processor is further configured to:parse the answer received from the second social network site todetermine a location contained within the answer; and provide thelocation, with the answer provided to the first user, for display on auser device of the first user.
 18. The apparatus of claim 14, wherein:the activity feed further comprises a plurality of favorites receivedfrom other users of the second social network site, each of the otherusers having previously provided a respective one of the favorites in arespective message sent to the second social network site.
 19. Theapparatus of claim 14, wherein the second social network site is amicroblogging website, the question sent to the second user is amicroblogging message, and the first social network site is integratedwith the second social network site using an application programinterface for the microblogging website.